


RCS(1)                   USER COMMANDS                     RCS(1)



NAME
     rcs - change RCS file attributes

SYNOPSIS
     rcs [ _o_p_t_i_o_n_s ] _f_i_l_e ...

DESCRIPTION
     rcs creates new RCS files or changes attributes of  existing
     ones.   An  RCS file contains multiple revisions of text, an
     access list, a change log, descriptive text, and  some  con-
     trol  attributes.   For rcs to work, the caller's login name
     must be on the access list, except if  the  access  list  is
     empty, the caller is the owner of the file or the superuser,
     or the -i option is present.

     Pathnames matching an RCS suffix denote RCS files; all  oth-
     ers  denote working files.  Names are paired as explained in
     ci(1).  Revision numbers use the syntax described in ci(1).

OPTIONS
     -i   Create and initialize a new RCS file, but do not  depo-
          sit  any revision.  If the RCS file has no path prefix,
          try to place it first into the subdirectory ./RCS,  and
          then  into  the  current  directory.   If  the RCS file
          already exists, print an error message.

     -a_l_o_g_i_n_s
          Append the login names appearing in the comma-separated
          list _l_o_g_i_n_s to the access list of the RCS file.

     -A_o_l_d_f_i_l_e
          Append the access list of _o_l_d_f_i_l_e to the access list of
          the RCS file.

     -e[_l_o_g_i_n_s]
          Erase the login names appearing in the  comma-separated
          list  _l_o_g_i_n_s  from the access list of the RCS file.  If
          _l_o_g_i_n_s is omitted, erase the entire access list.

     -b[_r_e_v]
          Set the default branch to _r_e_v.  If _r_e_v is omitted,  the
          default  branch  is  reset to the (dynamically) highest
          branch on the trunk.

     -c_s_t_r_i_n_g
          sets the comment leader to _s_t_r_i_n_g.  The comment  leader
          is  printed  before every log message line generated by
          the keyword $Log$ during checkout (see co(1)).  This is
          useful  for  programming  languages  without multi-line
          comments.  An initial ci , or  an  rcs -i  without  -c,
          guesses the comment leader from the suffix of the work-
          ing file.



GNU                  Last change: 1991/09/26                    1






RCS(1)                   USER COMMANDS                     RCS(1)



     -k_s_u_b_s_t
          Set the default keyword  substitution  to  _s_u_b_s_t.   The
          effect  of  keyword substitution is described in co(1).
          Giving an  explicit  -k  option  to  co,  rcsdiff,  and
          rcsmerge   overrides  this  default.   Beware  rcs -kv,
          because -kv is incompatible with co -l.   Use  rcs -kkv
          to restore the normal default keyword substitution.

     -l[_r_e_v]
          Lock the revision with number  _r_e_v.   If  a  branch  is
          given, lock the latest revision on that branch.  If _r_e_v
          is omitted, lock the latest  revision  on  the  default
          branch.   Locking prevents overlapping changes.  A lock
          is removed with ci or rcs -u (see below).

     -u[_r_e_v]
          Unlock the revision with number _r_e_v.  If  a  branch  is
          given,  unlock  the latest revision on that branch.  If
          _r_e_v is omitted, remove the  latest  lock  held  by  the
          caller.   Normally,  only  the locker of a revision may
          unlock it.  Somebody else unlocking a  revision  breaks
          the lock.  This causes a mail message to be sent to the
          original locker.  The  message  contains  a  commentary
          solicited  from  the  breaker.   The commentary is ter-
          minated by end-of-file or by  a  line  containing  . by
          itself.

     -L   Set locking to _s_t_r_i_c_t.  Strict locking means  that  the
          owner  of  an  RCS  file is not exempt from locking for
          checkin.  This option should be used for files that are
          shared.

     -U   Set locking to non-strict.   Non-strict  locking  means
          that  the  owner of a file need not lock a revision for
          checkin.  This option should _n_o_t be used for files that
          are  shared.   Whether  default  locking  is  strict is
          determined by your system administrator, but it is nor-
          mally strict.

     -m_r_e_v:_m_s_g
          Replace revision _r_e_v's log message with _m_s_g.

     -n_n_a_m_e[:[_r_e_v]]
          Associate the symbolic name _n_a_m_e  with  the  branch  or
          revision  _r_e_v.   Delete the symbolic name if both : and
          _r_e_v are omitted; otherwise, print an error  message  if
          _n_a_m_e is already associated with another number.  If _r_e_v
          is symbolic, it is expanded before association.  A  _r_e_v
          consisting  of  a  branch number followed by a . stands
          for the current latest revision in  the  branch.   A  :
          with  an  empty _r_e_v stands for the current latest revi-
          sion on the default branch, normally  the  trunk.   For



GNU                  Last change: 1991/09/26                    2






RCS(1)                   USER COMMANDS                     RCS(1)



          example,  rcs -n_n_a_m_e: RCS/*  associates  _n_a_m_e  with the
          current latest revision of all  the  named  RCS  files;
          this contrasts with rcs -n_n_a_m_e:$ RCS/* which associates
          _n_a_m_e with the revision numbers extracted  from  keyword
          strings in the corresponding working files.

     -N_n_a_m_e[:[_r_e_v]]
          Act like -n, except override any previous assignment of
          _n_a_m_e.

     -o_r_a_n_g_e
          deletes ("outdates") the revisions given by  _r_a_n_g_e.   A
          range consisting of a single revision number means that
          revision.  A range consisting of a branch number  means
          the  latest  revision  on  that branch.  A range of the
          form _r_e_v_1:_r_e_v_2 means revisions _r_e_v_1 to _r_e_v_2 on the same
          branch,  :_r_e_v  means  from  the beginning of the branch
          containing _r_e_v up to and including _r_e_v, and _r_e_v:  means
          from  revision  _r_e_v to the end of the branch containing
          _r_e_v.  None of the outdated revisions may have  branches
          or locks.

     -q   Run quietly; do not print diagnostics.

     -I   Run interactively, even if the standard input is not  a
          terminal.

     -s_s_t_a_t_e[:_r_e_v]
          Set the state attribute of the revision _r_e_v to _s_t_a_t_e  .
          If  _r_e_v  is a branch number, assume the latest revision
          on that branch.  If _r_e_v is omitted, assume  the  latest
          revision  on  the  default  branch.   Any identifier is
          acceptable for _s_t_a_t_e.  A useful set of  states  is  Exp
          (for  experimental),  Stab  (for  stable), and Rel (for
          released).  By default, ci(1) sets the state of a revi-
          sion to Exp.

     -t[_f_i_l_e]
          Write descriptive text from the contents of  the  named
          _f_i_l_e  into  the  RCS  file, deleting the existing text.
          The _f_i_l_e pathname may not begin with  -.   If  _f_i_l_e  is
          omitted,  obtain  the  text  from  standard input, ter-
          minated by end-of-file or by  a  line  containing  . by
          itself.   Prompt  for the text if interaction is possi-
          ble; see -I.  With -i,  descriptive  text  is  obtained
          even if -t is not given.

     -t-_s_t_r_i_n_g
          Write descriptive text from the  _s_t_r_i_n_g  into  the  RCS
          file, deleting the existing text.

     -V_n  Emulate RCS version _n.  See co(1) for details.



GNU                  Last change: 1991/09/26                    3






RCS(1)                   USER COMMANDS                     RCS(1)



     -x_s_u_f_f_i_x_e_s
          Use _s_u_f_f_i_x_e_s to characterize RCS files.  See ci(1)  for
          details.

COMPATIBILITY
     The -b_r_e_v option generates an RCS file that cannot be parsed
     by RCS version 3 or earlier.

     The -k_s_u_b_s_t options (except -kkv) generate an RCS file  that
     cannot be parsed by RCS version 4 or earlier.

     Use rcs -V_n to make an RCS file acceptable to RCS version  _n
     by discarding information that would confuse version _n.

     RCS version 5.5 and earlier does not support the -x  option,
     and requires a ,v suffix on an RCS pathname.

FILES
     rcs accesses files much as ci(1) does, except that  it  uses
     the  effective  user for all accesses, it does not write the
     working file or its directory, and it does not even read the
     working file unless a revision number of $ is specified.

ENVIRONMENT
     RCSINIT
          options prepended to the argument  list,  separated  by
          spaces.  See ci(1) for details.

DIAGNOSTICS
     The RCS pathname and the revisions outdated are  written  to
     the  diagnostic output.  The exit status is zero if and only
     if all operations were successful.

IDENTIFICATION
     Author: Walter F. Tichy.
     Revision Number: 5.6; Release Date: 1991/09/26.
     Copyright 8c9 1982, 1988, 1989 by Walter F. Tichy.
     Copyright 8c9 1990, 1991 by Paul Eggert.

SEE ALSO
     co(1),    ci(1),    ident(1),    rcsdiff(1),    rcsintro(1),
     rcsmerge(1), rlog(1), rcsfile(5)
     Walter  F.  Tichy,  RCS--A  System  for   Version   Control,
     _S_o_f_t_w_a_r_e--_P_r_a_c_t_i_c_e & _E_x_p_e_r_i_e_n_c_e 15, 7 (July 1985), 637-654.

BUGS
     The separator for revision ranges in the -o option  used  to
     be - instead of :, but this leads to confusion when symbolic
     names contain -.  For backwards compatibility rcs  -o  still
     supports  the  old  -  separator,  but  it  warns about this
     obsolete use.




GNU                  Last change: 1991/09/26                    4






RCS(1)                   USER COMMANDS                     RCS(1)



     Symbolic names need  not  refer  to  existing  revisions  or
     branches.   For  example, the -o option does not remove sym-
     bolic names for the outdated revisions; you must use  -n  to
     remove the names.



















































GNU                  Last change: 1991/09/26                    5



